Software Engineering Manager for iOS
Description
The Software Engineering Manager will report to the Director of Software Engineering and manage a team of engineers of all levels. With your team, you will evaluate and select technology and architecture appropriate for the desired customer experience and establish patterns, procedures, and practices that enable the highest quality standards. Your team will be responsible for developing mobile applications appropriate for our customers and utilized by thousands of home automation systems. This position will help develop the Home Control Customer Interface for iOS mobile apps.
This position will act as a leader and mentor for the team and therefore, should be a motivated self-starter who can manage working in a fast-paced environment and manage multiple projects simultaneously. The Software Engineering Manager will work cross-functionally and should be able to manage both their team and influence other teams by leveraging their leadership skills and management techniques. This role requires the ability to effectively articulate a viewpoint and will need high attention to detail with excellent English communication and presentation skills. The Software Engineering Manager will need to demonstrate the ability to think outside the box to manage both technical and analytic challenges presented within the business and should possess exceptional problem-solving skills.
Responsibilities and Duties of the Role:
- Own the mission, execution, morale, and code quality of your team
- Partner effectively with UX designers, product managers, and engineering leadership to create and execute against the product roadmap to craft best-of-class, delightful user experiences
- Serve as a force multiplier for your team by removing roadblocks, identifying and implementing process improvements, and delegating effectively
- Actively build community and culture throughout the engineering organization
- Continually develop, coach, motivate, and improve your team, leading by example
- Drive the technical direction of the codebase, CI/CD and testing infrastructure, operational metrics capabilities, and all related pieces of the software ecosystem
- Identify areas for growth within the team and the team processes
- Develop and implement team KPI, goals, sprint tasks and other agile workflows
- Provide leadership, direction, mentoring, training, and encouragement to direct reports
Required Education, Experience/Skills/Training:
- Minimum of 6+ years of experience
- BS/MS/PhD degree in computer science, Information Systems, Software Engineering, or comparable field of study, and/or equivalent work experience
- Experience leading or managing a software engineering team
- An understanding of the iOS development environment, including Xcode, SwiftUI, Swift, custom views, and application lifecycle
- Knowledge of iOS app architecture patterns (MVVM, MVP, etc.) and design principles
- Experience integrating with Open Source, their related obligations, and third-party software libraries
- Understanding and experience using reactive frameworks
- Experience with test automation and continuous integration (Jenkins, GitHub Actions, Xcode Cloud)
- Proficient with Scrum and Agile methodologies, able to create and manage stories in a backlog
- Excellent written and spoken English language communicator who collaborates well across teams and time zones
- Hands-on coding experience in a professional setting
- Experience leading or managing a software engineering team
Preferred Qualifications:
- Experience building published applications on the Apple App Store for iPhone, iPad, and Mac
- 3+ years of iOS software engineering management experience or direct experience mentoring and managing others